package main

import "fmt"
/**
冒泡算法，数组中前一个元素和后一个元素进行比较如果大于或者小于 前者就进行交换，
最终返回最大或者最小都冒到数组的最后
序列时间复杂度为 O(n^2).
 */
func main() {
	arr := []int{1, 9, 10, 30, 2, 5, 45, 8, 63, 234, 12}
	fmt.Println(getMax(arr))
	fmt.Println(bubbleSort(arr))
}

func getMax(arr []int) int {
	for i := 1; i < len(arr); i++ {
		if arr[i] < arr[i-1] {
			arr[i],arr[i-1] = arr[i-1],arr[i]
		}
	}
	return arr[len(arr)-1]
}

func bubbleSort(arr []int) []int {
	for i := 0; i < len(arr) - 1; i++ {
		for j := i + 1; j < len(arr); j++ {
			if arr[i] < arr[j] {
				arr[i],arr[j] = arr[j],arr[i]
			}
		}
	}
	return arr
}
